<table class="configuration table table-bordered">
    <thead>
        <tr>
            <th class="text-left" style="width: 20%">Key</th>
            <th class="text-left" style="width: 15%">Default</th>
            <th class="text-left" style="width: 10%">Type</th>
            <th class="text-left" style="width: 55%">Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><h5>state.backend.rocksdb.checkpoint.transfer.thread.num</h5></td>
            <td style="word-wrap: break-word;">4</td>
            <td>Integer</td>
            <td>The number of threads (per stateful operator) used to transfer (download and upload) files in RocksDBStateBackend.If negative, the common (TM) IO thread pool is used (see cluster.io-pool.size)</td>
        </tr>
        <tr>
            <td><h5>state.backend.rocksdb.localdir</h5></td>
            <td style="word-wrap: break-word;">(none)</td>
            <td>String</td>
            <td>The local directory (on the TaskManager) where RocksDB puts its files. Per default, it will be &lt;WORKING_DIR&gt;/tmp. See <code class="highlighter-rouge">process.taskmanager.working-dir</code> for more details.</td>
        </tr>
        <tr>
            <td><h5>state.backend.rocksdb.memory.fixed-per-slot</h5></td>
            <td style="word-wrap: break-word;">(none)</td>
            <td>MemorySize</td>
            <td>The fixed total amount of memory, shared among all RocksDB instances per slot. This option overrides the 'state.backend.rocksdb.memory.managed' option when configured.</td>
        </tr>
        <tr>
            <td><h5>state.backend.rocksdb.memory.fixed-per-tm</h5></td>
            <td style="word-wrap: break-word;">(none)</td>
            <td>MemorySize</td>
            <td>The fixed total amount of memory, shared among all RocksDB instances per Task Manager (cluster-level option). This option only takes effect if neither 'state.backend.rocksdb.memory.managed' nor 'state.backend.rocksdb.memory.fixed-per-slot' are not configured. If none is configured then each RocksDB column family state has its own memory caches (as controlled by the column family options). The relevant options for the shared resources (e.g. write-buffer-ratio) can be set on the same level (config.yaml).Note, that this feature breaks resource isolation between the slots</td>
        </tr>
        <tr>
            <td><h5>state.backend.rocksdb.memory.high-prio-pool-ratio</h5></td>
            <td style="word-wrap: break-word;">0.1</td>
            <td>Double</td>
            <td>The fraction of cache memory that is reserved for high-priority data like index, filter, and compression dictionary blocks. This option only has an effect when 'state.backend.rocksdb.memory.managed' or 'state.backend.rocksdb.memory.fixed-per-slot' are configured.</td>
        </tr>
        <tr>
            <td><h5>state.backend.rocksdb.memory.managed</h5></td>
            <td style="word-wrap: break-word;">true</td>
            <td>Boolean</td>
            <td>If set, the RocksDB state backend will automatically configure itself to use the managed memory budget of the task slot, and divide the memory over write buffers, indexes, block caches, etc. That way, the three major uses of memory of RocksDB will be capped.</td>
        </tr>
        <tr>
            <td><h5>state.backend.rocksdb.memory.partitioned-index-filters</h5></td>
            <td style="word-wrap: break-word;">false</td>
            <td>Boolean</td>
            <td>With partitioning, the index/filter block of an SST file is partitioned into smaller blocks with an additional top-level index on them. When reading an index/filter, only top-level index is loaded into memory. The partitioned index/filter then uses the top-level index to load on demand into the block cache the partitions that are required to perform the index/filter query. This option only has an effect when 'state.backend.rocksdb.memory.managed' or 'state.backend.rocksdb.memory.fixed-per-slot' are configured.</td>
        </tr>
        <tr>
            <td><h5>state.backend.rocksdb.memory.write-buffer-ratio</h5></td>
            <td style="word-wrap: break-word;">0.5</td>
            <td>Double</td>
            <td>The maximum amount of memory that write buffers may take, as a fraction of the total shared memory. This option only has an effect when 'state.backend.rocksdb.memory.managed' or 'state.backend.rocksdb.memory.fixed-per-slot' are configured.</td>
        </tr>
        <tr>
            <td><h5>state.backend.rocksdb.options-factory</h5></td>
            <td style="word-wrap: break-word;">(none)</td>
            <td>String</td>
            <td>The options factory class for users to add customized options in DBOptions and ColumnFamilyOptions for RocksDB. If set, the RocksDB state backend will load the class and apply configs to DBOptions and ColumnFamilyOptions after loading ones from 'RocksDBConfigurableOptions' and pre-defined options.</td>
        </tr>
        <tr>
            <td><h5>state.backend.rocksdb.predefined-options</h5></td>
            <td style="word-wrap: break-word;">"DEFAULT"</td>
            <td>String</td>
            <td>The predefined settings for RocksDB DBOptions and ColumnFamilyOptions by Flink community. Current supported candidate predefined-options are DEFAULT, SPINNING_DISK_OPTIMIZED, SPINNING_DISK_OPTIMIZED_HIGH_MEM or FLASH_SSD_OPTIMIZED. Note that user customized options and options from the RocksDBOptionsFactory are applied on top of these predefined ones.</td>
        </tr>
        <tr>
            <td><h5>state.backend.rocksdb.timer-service.cache-size</h5></td>
            <td style="word-wrap: break-word;">128</td>
            <td>Integer</td>
            <td>The cache size per keyGroup of rocksdb timer service factory. This option only has an effect when 'state.backend.rocksdb.timer-service.factory' is configured to 'ROCKSDB'. Increasing this value can improve the performance of rocksdb timer service, but consumes more heap memory at the same time.</td>
        </tr>
        <tr>
            <td><h5>state.backend.rocksdb.timer-service.factory</h5></td>
            <td style="word-wrap: break-word;">ROCKSDB</td>
            <td><p>Enum</p></td>
            <td>This determines the factory for timer service state implementation.<br /><br />Possible values:<ul><li>"HEAP": Heap-based</li><li>"ROCKSDB": Implementation based on RocksDB</li></ul></td>
        </tr>
    </tbody>
</table>
